Providing an alternative human interface

ABSTRACT

Providing an alternative human interface for an electronic device when a current human interface is made ineffective by at least an environmental factor is described herein. By ineffective it is meant that the current human interface cannot maintain a minimum level of interactivity between a user and the electronic device in the current or anticipated environment. In addition to maintaining at least a threshold level of interactivity, the configuration of the alternative human interface can take into consideration other factors such as an expected operating state of the electronic device affected by the choice of alternative human interface.

TECHNICAL FIELD

The embodiments described herein relate generally to the field of smallform factor electronic devices. More particularly, the embodimentsdescribe efficient techniques for providing assistance in the use of thesmall form factor electronic device.

BACKGROUND

A portable electronic device can take many forms such as, for example, atablet computing device along the lines of an iPad™, a portablecommunication device such as an iPhone™, or a portable media player,such as an iPod™ each manufactured by Apple Inc. of Cupertino, Calif.The small size of these devices requires that any on-board power supply,such as a battery, be relatively lightweight, small, and relativelyinexpensive thereby limiting an amount of charge that can be stored andmade available to operate the portable electronic device. Therefore, inorder to maximize an amount of time that the portable electronic devicecan operate while powered by the battery, the power consumption of theportable electronic device must be optimized for current operatingconditions. Optimization of power consumption is particularly importantfor those portable electronic devices having a display.

The display on the portable electronic device can be used to displayvisual content (such as an album cover, video, and so forth) related toitems (such as songs or music) stored in the portable electronic device.The display can also assist in navigation and control of the portableelectronic device by presenting visual aids such as a graphical humaninterface to a user. Unfortunately, however, depending upon the displaytechnology, the display can consume a substantial amount of power whenactive. This is especially true of transmissive type displays (such asliquid crystal display, or LCD) that require an illumination source(also referred to as a backlight) that have a particularly high powerdemand. However, LCDs can be manufactured to be lightweight and thin,making them eminently well suited for use in small form factor portableelectronic devices in spite of their high power requirements.

Therefore, a system, method, and apparatus for maintaining the abilityof a user to interact with an electronic device are desired.

SUMMARY OF THE DESCRIBED EMBODIMENTS

A small form factor electronic device includes a processor and aninterface engine in communication with the processor and a sensorcoupled to the processor. The sensor is arranged to detect at least oneenvironmental factor and pass an indication of the detectedenvironmental factor to the processor. The processor and the interfaceengine cooperate to determine if an environment of the electronic devicehas changed, identify an updated human interface when the environmenthas changed, and cause the small form factor electronic device topresent the updated human interface only if a level of interactivitycorresponding to the updated human interface is at least greater than athreshold level of interactivity.

A method performed by a processor and an interface engine in anelectronic device having a sensor coupled to the processor is described.The method can be carried out by detecting at least one environmentalfactor by the sensor, passing an indication of the detectedenvironmental factor to the processor, determining if an environment ofthe electronic device is changed from a current environment by theprocessor based upon the indication received from the sensor,identifying an updated human interface only when the environment ischanged, and causing the electronic device to replace the current humaninterface with the updated human interface only if a level ofinteractivity provided by the electronic device is greater than apre-determined level of interactivity and a value of an operating stateof the electronic device is greater than a threshold value.

A system includes at least an electronic device, a multi-mode humaninterface (MMHI) engine associated with the electronic device, and asensor in communication with the MMHI engine. In the describedembodiment, the sensor detects at least one environmental factor andpasses an indication of the detected environmental factor to the MMHIengine. The MMHI engine uses the indication of the environmental factorreceived from the sensor to determine if the environment of theelectronic device has changed. When the environment has changed, theMMHI engine identifies an updated MMHI and presents the updated MMHIonly when the MMHI engine determines that a level of interactivitybetween a user and the electronic device in the changed environment isat least maintained when compared to a pre-determined level ofinteractivity.

In one aspect of the described embodiment, the updated MMHI uses atleast two discrete interface modes in order to provide the requisitelevel of interactivity between the user and the electronic device.

A method can be performed by a processor in an electronic device bypresenting a first human interface by the electronic device, the firsthuman interface used to facilitate control of operations carried out bythe electronic device in a first environment, the first human interfaceproviding a first level of interactivity in the first environment,detecting a change in an environment of the electronic device from thefirst environment to a second environment, identifying a second humaninterface in accordance with the second environment, and presenting thesecond human interface by the electronic device only if a level ofinteractivity provided by the second human interface in the secondenvironment is at least equal to the first level of interactivityprovided by the first human interface in the first environment.

A non-transitory computer readable medium for storing a computer programexecuted by a processor in an electronic device in communication with asensor is described. The computer program includes at least computercode for presenting a current human interface by the electronic device,computer code for detecting at least one environmental factor by thesensor, computer code for passing an indication of the detectedenvironmental factor to the processor, computer code for identifying anupdated human interface when it is determined that the environment ofthe electronic device is changed, and computer code for presenting theupdated human interface in place of the current human interface only ifa level of interactivity between a user and the electronic device isgreater than a pre-determined level of interactivity and a level of anoperating state of the electronic device is greater than a levelcorresponding to a pre-determined operating state.

BRIEF DESCRIPTION OF THE DRAWINGS

The described embodiments and the advantages thereof can best beunderstood by reference to the following description taken inconjunction with the accompanying drawings.

FIG. 1 shows a simplified block description of multi-modal humaninterface (MMHI) engine in accordance with the described embodiments.

FIG. 2 shows a representative tablet device having an associated MMHIengine along the lines shown in FIG. 1.

FIGS. 3-5 graphically illustrate the ability of MMHI engine to update aMMHI in accordance with various embodiments.

FIG. 6 shows a flowchart detailing a process in accordance with thedescribed embodiments.

DETAILED DESCRIPTION OF REPRESENTATIVE EMBODIMENTS

In the following detailed description, numerous specific details are setforth to provide a thorough understanding of the concepts underlying thedescribed embodiments. It will be apparent, however, to one skilled inthe art that the described embodiments can be practiced without some orall of these specific details. In other instances, well known processsteps have not been described in detail in order to avoid unnecessarilyobscuring the underlying concepts.

Providing an alternative human interface for an electronic device when acurrent human interface is made ineffective by at least an environmentalfactor is described herein. By ineffective it is meant that the currenthuman interface cannot maintain a minimum level of interactivity betweena user and the electronic device in the current or anticipatedenvironment. By level of interactivity it is meant the ability of a userto interact with the electronic device so as to control or at leastinfluence operations carried out by the electronic device. In additionto maintaining at least a threshold level of interactivity, theconfiguration of the alternative human interface can take intoconsideration other factors such as an expected operating state of theelectronic device affected by the choice of alternative human interface.For example, if the electronic device is battery powered and presentsvisual information using a transmissive type display (that requiresbacklight illumination), then providing an alternative human interfacethat relies upon enhancing the presentation of the visual content byincreasing the amount of light (and therefore power) provided by thebacklight in an environment of high ambient light (such as sunlight) iscounterproductive to the maintenance of a long battery life.

Accordingly, the alternative human interface in the bright sunlightscenario should rely on mechanisms other than increasing the backlightin part or in whole to maintain the minimum level of interactivity aswell as the useful life of the battery. For example, the alternativehuman interface in a bright light environment can rely upon non-visualinterface modes such as a haptic interface mode, an audio interfacemode, an inertial interface mode, and so on used singly or incombination. It should be noted that the environmental factorsconsidered when determining an appropriate alternative human interfacecan include those external to the electronic device such as ambientlight, ambient sound, and context of use. The environmental factorconsidered can also include those internal to the electronic device suchas battery level and display technology. The embodiments described areparticularly well suited for small form factor battery poweredelectronic devices having a display and can be implemented automaticallybased upon the detection of specific environmental factors at predefinedlevels.

In a particular embodiment, the alternative human interface can take theform of a multi-modal human interface (MMHI) provided by an MMHI engine.The MMHI engine can provide an updated MMHI arranged to automaticallymaintain a pre-determined level of interactivity between a user and theelectronic device. In addition to maintaining at least thepre-determined level of interactivity, the updated MMHI can preserveselected operational resources, such as battery charge, when theelectronic device takes the form of a portable computing device poweredby a battery. The MMHI engine can automatically detect at least oneenvironmental factor, and if appropriate, provide an updated MMHI alongthe lines of the alternative human interface described above. Theupdated MMHI maintains at least the pre-determined level ofinteractivity by taking into account both external environmental factorssuch as ambient light and ambient sound as well as internalenvironmental factors as display technology (if appropriate), batterylevel, and current electronic device operating state. For example, whencoupled with a battery powered portable computing device having an LCD,the MMHI engine can simultaneously monitor environmental factors withspecial attention to detecting ambient light levels and when necessary(i.e., the detected light level increases beyond a threshold) providingthe alternative human interface by updating a currently provided MMHI.In this way, the updated MMHI can maintain at least the pre-determinedlevel of interactivity between the user and the electronic devicewithout requiring substantial amounts of additional battery resources inspite of the increased ambient light level.

Some of the environmental factors that can be detected include at leastambient light level, ambient sound level, current battery charge state,motion and/or acceleration of the portable computing device, and contextof use of the portable media device. By context of use it is meant how,where, or why the portable computing device is currently being used. Forexample, a number of factors that when taken together indicates that theelectronic device is currently in an individual's shirt pocket (i.e.,correlating ambient light level, piezo-electric sensing indicating theportable computing device is in an confined location, externaltemperature close to that expected of body temperature, and so on), theMMHI can be updated to an updated MMHI consistent with being locatedwithin a shirt pocket. Using the shirt pocket scenario, the updated MMHIwould likely rely upon the use of non-visual interactions such ashaptic, audio, speech or sound recognition, and inertial (for example,shaking the electronic device).

It should be noted that the MMHI can utilize discrete interface modesindividually or in combination. The discrete interface modes can includeat least a visual interface mode, a haptic interface mode, an audiointerface mode, a speech/sound recognition interface, and an inertialinterface mode. For example, the visual interface mode can utilize adisplay to present visual indicia, such as icons included in a graphicalhuman interface that can assist the user with interacting with theportable computing device. In the case where the portable computingdevice is a portable media player, the visual indicia provided by theMMHI can include navigation icons, selection icons, and volumeincrease/decrease icons and so on. When the MMHI engine detects a changein the local environment (the local environment being the externalenvironment as well as the environment internal to the portable mediaplayer such as battery level), the MMHI engine can provide an updatedMMHI that can provide at least the pre-determined level of interactivitybetween the user and the portable computing device. For example, if theMMHI engine determines that the portable media player has been placed inan enclosed environment such as a shirt pocket, then the MMHI engine cande-activate any visual interface elements (such as a backlight, forexample) and activate other non-visual interface modes such as haptic,audio, inertial, and speech/sound recognition that can be used incombination to maintain at least the pre-determined level ofinteractivity in the enclosed environment. When the MMHI enginedetermines that the portable media player has been removed from theenclosed environment, then the MMHI engine can update the MMHIconsistent with the most current environment.

These and other embodiments are discussed below with reference to FIGS.1-6. However, those skilled in the art will readily appreciate that thedetailed description given herein with respect to these figures is forexplanatory purposes only and should not be construed as limiting.

FIG. 1 shows computing system 100 in accordance with the describedembodiments. Computing system 100 can include processor 102 coupled tosensor 104 arranged to detect any number of environmental factors suchas ambient light, ambient sound, battery level, context of use, motionand/or acceleration. Sensor 104 can function as, without limitation, anaccelerometer, a gyroscope or another motion and/or acceleration sensingdevice. Sensor 104 can detect at least a change in position, orientationor movement of computing system 100. Typically, accelerometers canmeasure linear motion and accelerated linear motion directly, whilegyroscopes can measure angular motion and angular acceleration directly.In some embodiments, sensor 104 can provide geographical locationservices to processor 102 along the lines of, for example, GPS, cellularphone location services, and so on. Sensor 104 can detect changes inposition, orientation or movement, and acceleration along a number ofdifferent reference directions, singly or in combination. Sensor 104 canalso detect temperature, pressure, or ambient light and sound, as wellas any environmental factor deemed relevant in the context of computingdevice 100. Sensor 104 can also detect operating conditions withincomputing system 100 such as individual component function. In this way,when sensor 104 detects that a component has failed or at least asdeteriorated in performance, this information can also be provided toprocessor 102 for evaluation.

Computing system 100 can also include multi-modal human interface (MMHI)engine 106 that in cooperation with processor 102 can cause computingdevice 100 to generate or otherwise provide multi-modal human interface(MMHI) 108. MMHI engine 106 can take the form of software, hardware, offirmware. For example, as computer software, MMHI engine 106 can bestored on non-transitory computer readable medium in data storage device110 in the form of executable instructions such as computer code thatcan be executed by processor 102. During operation, sensor 104 can, inreal time, detect an environmental factor. Sensor 104 can pass anindication of the detected environmental factor to processor 102.Processor 102 can respond by determining if a change in a localenvironment has occurred and if so, is the change of such a magnitudethat requires updating MMHI 108. For example, if sensor 104 detects thatan ambient light level has increased, sensor 104 can pass an indicationof the increased ambient light level to processor 102. Processor 102 canrespond by determining if the changed ambient light level is greaterthan a pre-determined ambient light level and if so can notify MMHIengine 106 of the change. If the change in the local environment isdetermined to be sufficient to warrant a change in MMHI 108, MMHI 106can cooperate with processor 102 to instruct computing system 100 toupdate MMHI 108 in accordance with the changed local environment.

MMHI 108 can utilize resources provided by computing system 100 topresent a human interface that uses one or more discrete interface modesthat work in cooperation with each other to provide a unified humaninterface experience. The discrete interface modes can include visualinterface mode 112, haptic interface mode 114, audio interface mode 116,speech/text recognition interface mode 118, and inertial mode 120 eachof which can utilize specific resources made available by computingsystem 100. For example, visual interface mode 112 can use imagingresources such as display 122, haptic interface mode 114 can use tactileresources such as haptic actuators 124, audio interface mode 116 can useaudio resources such as speaker 126 (and/or piezoelectric transducer),and speech/text recognition mode 118 can utilize audio input resourcessuch as microphone 128. Furthermore, inertial mode 120 can usemotion/acceleration resources such as accelerometer 130. In this way,MMHI 108 can optimize a user's ability to interact with computing system100 while still maintaining acceptable use of computer system 100resources such as battery charge.

Computing device 100 can take many forms such as a music player, gameplayer, video player, personal digital assistant (PDA), tablet computerand/or the like. For the remainder of this discussion, computing device100 is described in terms of small form factor electronic device 200shown in FIG. 2 as tablet device 200. An example of tablet device 200 isthe iPad™ manufactured by Apple Inc. of Cupertino, Calif. that candisplay information in either a landscape mode or portrait mode. Tabletdevice 200 can include single piece seamless housing 202 sized toaccommodate processor 102 and display 122 as well as openings suitableto provide support for speaker 126 and microphone 128. Tablet device 200can include various touch sensitive components capable of detecting atouch event on or near a touch sensitive surface. The touch sensitiveelements can be incorporated into touch sensitive layer 204 that incooperation with a display layer enable display 120 operate as a touchscreen providing a user with the ability to interact with tablet device200 using a finger or other suitable object. The user can interact withtablet device 200 using only a single finger to provide a single touchevent (such as a tap or swipe) or more than one finger moving in acoordinated manner to generate a gesture that can be as simple as apinching gesture to as complex as providing a touch pattern along thelines of a signature.

Display 122 can include various tactile elements such as haptic actuator124. In addition to being associated with display 122, haptic actuator124 can be mounted at any appropriate location of housing 202. In thisway, tablet device 200 can communicate information to a user, and viceversa, by providing coordinated tactile sensations at display 122 and/orhousing 202. For example, a user can be notified that battery level istoo low to present visual content on display 122 at a current ambientlight level by a portion of housing 202 vibrating in response to hapticactuator 124. Under these conditions, MMHI engine 106 can determine thatfurther interaction with tablet device 200 should be carried out usingprimarily audio interface mode 116 and text/speech recognition mode 118.Accordingly, MMHI engine 106 can in cooperation with processor 102update MMHI 108 to operate primarily using speaker 126 and microphone128. By primarily it is meant that in addition to the primary interfacemodes (audio interface mode 116, text/speech recognition mode 118 inthis example), MMHI 108 can also use a secondary interface mode such asinertial mode 120 to augment the primary interface modes enabling tabletdevice 200 to respond to a “shake” event thereby adding yet anotherdimension to MMHI 108.

As the situation may require, being able to update MMHI 108 in such away that a user can interact with tablet device 200 without having torely on visual indicators can be very useful. For example, it would beadvantageous to not rely on visual indicators provided by display 122when display 122 is not viewable or that using display 122 wouldadversely affect the operation of tablet device 200 by, for example,severely reducing expected operating time at a current operating state.The reduction in expected operating time can be caused by many factorssuch as the inordinate power drain required to support a transmissivetype display in an environment of high ambient light. For example, aswell known in the display arts, transmissive displays rely upon anexternal light source (referred to as a backlight when used in thecontext of a liquid crystal display, or LCD) to provide images forviewing. The backlight can require substantial amounts of power tooperate in even the most optimal light conditions. However, when lightconditions change (going from dark to bright, for example) there may notbe sufficient power resources available to drive display 122 in thebright environment sufficient to overcome the ambient light conditions.The bright light can “wash” out any images presented on display 122severely restricting the ability of a user to interact with tabletdevice 200.

In order to maintain the ability of the user to interact with tabletdevice 200 as well as maintaining battery charge and therefore expectedbattery life, MMHI 108 can be updated in such as way as to not rely ondisplay 122 (or at least substantially reduce the reliance on display122). Interactivity previously provided by display 122 (and moreprecisely display 122 and touch sensitive layer 204) can be provided inthe alternative by other interface mechanisms acting singly or incooperation with each other. For example, with display 122 effectivelyout of the loop so to speak, haptic actuator 124 and/or speaker 126 canbe used separately or in tandem to provide a human interface that atleast preserves the ability of a user to interact with tablet device 200as well as preserve battery charge. The preservation of battery chargecan also prolong useful operation of tablet 200 than would otherwise bepossible using display 122 as the primary mode of interaction.

During operation, sensor 104 can detect any one or more of a pluralityof environmental factors. The plurality of environmental factors caninclude at least temperature (both internal and external to tabletdevice 200), battery charge level, ambient light, ambient sound, and soon. Sensor 104 can provide an indication of the detected environmentalfactor(s) to processor 102. Processor 102 can use the indication of thedetected environmental factors to evaluate a current state of the localenvironment and, in turn, determine an ability of a user to interactwith tablet device 200. If the ability of the user to interact withtablet device 200 is determined to be less than a threshold value, thenprocessor 102 in cooperation with MMHI engine 106 can update MMHI 108 insuch a way as to preserve the ability of the user to interact withtablet device 200. In some cases it may be desirable to take intoconsideration the effect of updating MMHI engine 108 on an expectedoperating state of tablet device 200 prior to actually updating MMHI108. For example, if processor 102 estimates a substantial reduction inoperating life of tablet device 200 using a first version of MMHI 108,then processor 102 can modify the first version of MMHI 108 to a secondversion of MMHI 108 that specifically reduces the impact on operatinglife. It should be noted that the updated MMHI is not one that isnecessarily available during normal use of tablet device 200 (forexample, a haptic interface might not normally be provided as aninterface option during normal operation but can be made available whenoperating conditions fall below a desired operability level).

For example, when the environmental factor data received from sensor 104includes an indication of a battery charge level and an indication ofambient light level greater than a threshold level, then processor 102can use the environmental factor data received from sensor 104 inaddition to extrinsic data such as a display technology used by tabletdevice 200 to update MMHI 106. Furthermore, processor 102 can estimatean expected amount of time that tablet device 200 can operate using thecurrent battery charge level in the changed environment assuming thatthe updated MMHI 108 is used. In one embodiment, when the expectedamount of operating time is deemed to less than a pre-determinedoperating time (i.e., too short) then processor 102 can cause tabletdevice 200 to post a notification indicating as such and/or furtherupdate MMHI 108 in order to increase the expected operating time oftablet device 200. It should be noted that operating temperature oftablet device 200 can be an environmental factor due to its effect onbattery longevity.

FIGS. 3-5 graphically illustrate various configurations of MMHI 108based upon representative local environments detected by sensor 104 andevaluated by processor 102 in cooperation with MMHI engine 106. Forexample, FIG. 3 shows a situation whereby tablet device 200 is exposedto an environment having little or no ambient light, such as at night.In this situation, sensor 104 can detect ambient light levelscorresponding to dark conditions (such as night or in a dark room). Theinformation can be passed to processor 102 for evaluation in cooperationwith MMHI engine 106. As part of the evaluation process, MMHI engine 106can take into consideration any factors deemed relevant. Such factorscan include the display technology used (transmissive ortransreflective), the state of charge of a battery when tablet 200 isnot receiving power externally, and so on. Using the example of atransmissive type display, when processor 102 and MMHI 106 evaluate thelow ambient light levels, MMHI 106 can consider 1) the fact that display122 is transmissive, 2) the fact that tablet device 200 is not receivingexternal power, 3) a current state of battery 206, 4) a currentoperating state of tablet device 200, and 5) an anticipated duration ofoperation to decide whether or not to update MMHI 108 and the particularconfiguration that the updated MMHI 108 will take. In this example, thefact that the ambient light level is low, MMHI engine 106 would givemore weight to relying upon visual indicators provided by display 122since low light levels is close to an ideal environment for display 122to operate relatively efficiently. However, even with low ambient lightlevels well suited for use of visual interface mode 112, if battery 206is determined to be low in charge and continued operation of display 122would result in less than desirable remaining operating time, then MMHIengine 106 can update MMHI 108 to use other, less energy intensiveinterface modes to maintain the appropriate level of interactivitybetween the user and tablet device 200.

FIG. 4 shows a situation where the local environment of tablet device200 has changed from one of low ambient light of FIG. 3 to one of highambient light as one would expect from bright sunshine. In this case,sensor 104 would notify processor 102 of the change in ambient lightlevels which would then determine if the change was sufficient to notifyMMHI engine 106 that it may be necessary to update MMHI 108 from itscurrent state to an updated state in keeping with the changed localenvironment. In this way when it has been determined that MMHI 106 is tobe updated, MMHI engine 106 in cooperation with processor 102 can updateMMHI 108 to minimize the use of display 122 by relying less on visualinterface mode 112 and more on haptic interface mode 114 and audiointerface mode 116. In this way, not only is the ability of the user tointeract with tablet device 200 at least maintained, by powerconsumption can be reduced with the added benefit of longer operationaltime at the current operating state.

In yet another situation, FIG. 5 illustrates MMHI 108 configured tooperate in “driving mode” when sensor 104 detects that is moving atgreater than a threshold speed, such as for example, 20 mph indicatingmotion in a moving vehicle. In this situation, processor 102 and MMHI106 can cause MMHI 108 to rely upon a more limited range of interfacemodes consistent with safe driving (the presumption being that the useris driving the vehicle, be it car or bike) and tablet device 200 shouldnot provide a distraction. In this way, MMHI 108 can be configured byprocessor 102 in cooperation with MMHI engine 106 to rely upon audiointerface mode 116 by way of speaker 126 and/or speech/sound recognitionmode 118 and microphone 128 in order to maintain user interactivity in asafe driving environment.

FIG. 6 shows a flowchart detailing process 600 performed by anelectronic device having at least a processor and environmental sensorin accordance with the described embodiments. Process 600 can be carriedout by performing at least the following operations. At 602, the sensordetects at least an environmental factor. The environmental factor caninclude those factors external to the electronic device such as ambientlight level and ambient sound level. The environmental factor can alsoinclude those factors internal to the device such as remaining batterycharge, display technology, component functionality, and so on. At 604,the sensor converts the detected environmental factors to environmentalfactor data that is then forwarded to the processor. The processor at606 determines whether or not the environment of the electronic devicehas changed. In the described embodiment, the processor can determinewhen the environment has changed by comparing currently receivedenvironmental factor data to historical environmental factor data. Itshould be noted that the change in environmental factor can be comparedto a threshold change in order to eliminate any small changes that mayoccur that will not materially affect the electronic device's operationor the ability of a user to interact with the device. If, at 606, theprocessor has determined that the environment has not changed, thencontrol is passed back to 602, otherwise, at 608 a level ofinteractivity for the current human interface is determined. The levelof interactivity can be estimated using the environmental factor datareceived from the sensor. For example when the electronic device uses atransmissive type display, and if the environment has changed to one ofincreased ambient light, then the processor can estimate a decrease inthe level of interactivity in the changed environment.

If at 610, the level of interactivity is not less than a pre-determined(also referred to as threshold) level then process 600 ends, otherwise,control is passed to 612 where a current operating state of theelectronic device is determined. The current operating state of theelectronic device can take into consideration such environmental factorsas remaining battery charge as well as an intrinsic characteristic ofthe electronic device as display technology. Next at 614, an updatedhuman interface is identified by the processor. A determination is thenmade at 616 of the level of interactivity based upon the updated humaninterface. If the level of interactivity is less than the pre-determinedlevel of interactivity, then control is passed back to 614 for a furtherupdating of the human interface, otherwise, control is passed to 618 foran estimate of the operating status of the electronic device based uponthe updated human interface. The estimated operating status of theelectronic device can be, for example, an estimated duration of time ofuseful operation by the electronic device in the changed environmentusing the updated human interface. This estimate can be made byconsidering such factors as remaining battery life, power consumption byvarious function blocks such as a display. If at 620, the estimatedoperating status is not acceptable using the updated human interface,and then control is passed to 614 for further updating of the humaninterface, otherwise, the updated human interface is provided at 622.

The various aspects, embodiments, implementations or features of thedescribed embodiments can be used separately or in any combination.Various aspects of the described embodiments can be implemented bysoftware, hardware or a combination of hardware and software. Thedescribed embodiments can also be embodied as computer readable code ona non-transitory computer readable medium. The computer readable mediumis defined as any data storage device that can store data which canthereafter be read by a computer system. Examples of the computerreadable medium include read-only memory, random-access memory, CD-ROMs,DVDs, magnetic tape, and optical data storage devices. The computerreadable medium can also be distributed over network-coupled computersystems so that the computer readable code is stored and executed in adistributed fashion.

The foregoing description, for purposes of explanation, used specificnomenclature to provide a thorough understanding of the describedembodiments. However, it will be apparent to one skilled in the art thatthe specific details are not required in order to practice the describedembodiments. Thus, the foregoing descriptions of the specificembodiments described herein are presented for purposes of illustrationand description. They are not intended to be exhaustive or to limit theembodiments to the precise forms disclosed. It will be apparent to oneof ordinary skill in the art that many modifications and variations arepossible in view of the above teachings.

The embodiments were chosen and described in order to best explain theunderlying principles and concepts and practical applications, tothereby enable others skilled in the art to best utilize the variousembodiments with various modifications as are suited to the particularuse contemplated. It is intended that the scope of the embodiments bedefined by the following claims and their equivalents.

What is claimed is:
 1. A small form factor electronic device,comprising: a processor; an interface engine in communication with theprocessor; and a sensor coupled to the processor arranged to: detect atleast one environmental factor, and pass an indication of the detectedenvironmental factor to the processor, wherein the processor and theinterface engine cooperate to: determine that an environment of theelectronic device has changed based on the indication of the detectedenvironmental factor, identify an updated human interface in response todetermining that the environment has changed, determine that a level ofinteractivity corresponding to the updated human interface is at leastgreater than a threshold level of interactivity, and cause the smallform factor electronic device to present the updated human interfaceonly if the level of interactivity corresponding to the updated humaninterface is at least greater than the threshold level of interactivity.2. The electronic device as recited in claim 1, further comprising: adisplay device arranged to present visual content as directed by theprocessor; and a battery used to provide power to the electronic device,wherein at least one of the environmental factors is an amount of chargeremaining in the battery.
 3. The electronic device as recited in claim2, wherein when the processor has determined that the environment haschanged, the processor is further arranged to: determine a value of anoperating state of the electronic device, and cause the electronicdevice to present the updated human interface only if the value of theoperating state of the electronic device in the changed environmentusing the updated human interface is greater than a pre-determinedvalue.
 4. The electronic device as recited in claim 3, wherein the valueof the operating state comprises at least one of: a charge remaining inthe battery; or an estimated amount of operating time for the electronicdevice at a current operating state in the changed environment using theupdated human interface.
 5. The electronic device as recited in claim 1,wherein the at least one environmental factor includes at least one ofan ambient light level, an ambient sound level, a battery level, acontext of use of the electronic device, or a motion of the electronicdevice.
 6. The electronic device as recited in claim 1, wherein theupdated human interface comprises at least one of a plurality ofinterface modes, the plurality comprising: a visual interface mode; ahaptic interface mode; an audio interface mode; a speech/soundrecognition mode; and an inertial mode.
 7. The electronic device asrecited in claim 6, wherein the updated human interface furthercomprises: at least two of the plurality of interface modes.
 8. A methodperformed by a processor and an interface engine in an electronicdevice, the processor in communication with a sensor, comprising:detecting at least one environmental factor by the sensor; passing anindication of the detected environmental factor to the processor;determining that an environment of the electronic device is changed froma current environment by the processor based upon the indicationreceived from the sensor based on the indication of the detectedenvironmental factor, identifying an updated human interface only whenthe environment is changed in response to determining that theenvironment has changed; determining that a level of interactivityprovided by the electronic device is greater than a pre-determined levelof interactivity and a value of an operating state of the electronicdevice is greater than a threshold value; and causing the electronicdevice to replace the current human interface with the updated humaninterface upon determining that the level of interactivity provided bythe electronic device is greater than the pre-determined level ofinteractivity and the value of the operating state of the electronicdevice is greater than the threshold value.
 9. The method as recited inclaim 8, further comprising: providing power to the electronic device bya battery, wherein at least one of the environmental factors is anamount of charge remaining in the battery, and wherein the value of theoperating state is duration of time for the electronic device to operatewith the amount of charge remaining in the battery using the updatedhuman interface.
 10. The method as recited in claim 8, wherein the atleast one environmental factor includes at least one of an ambient lightlevel, an ambient sound level, a battery level, a context of use of theelectronic device, or a motion of the electronic device.
 11. The methodas recited in claim 8, wherein the determining comprises: comparing adifference between the detected environmental factor corresponding tothe indication received from the sensor and a current environmentalfactor, wherein the environment is changed when the difference isgreater than a threshold value.
 12. A system, comprising: an electronicdevice; a multi-mode human interface (MMHI) engine associated with theelectronic device; and a sensor in communication with the MMHI enginearranged to: detect at least one environmental factor, and pass anindication of the detected environmental factor to the MMHI engine,wherein the MMHI engine determines that the environment of theelectronic device has changed based on the indication of theenvironmental factor received from the sensor identifies an updated MMHIin response to determining that the environment has changed, determinesthat a level of interactivity between a user and the electronic devicein the changed environment is at least maintained when compared to apre-determined level of interactivity, and presents the updated MMHI inresponse to determining the level of interactivity between the user andthe electronic device in the changed environment is at least maintainedwhen compared to the pre-determined level of interactivity.
 13. Thesystem as recited in claim 12, wherein the electronic device furthercomprises: a processor, wherein the processor includes processingresources some of which are used to implement the MMHI engine.
 14. Thesystem as recited in claim 12, wherein the updated human interfacecomprises at least two discrete interface modes.
 15. The system asrecited in claim 14, wherein discrete interface modes includes at leastone of a visual interface mode, a haptic interface mode, an audiointerface mode, a speech/sound recognition interface mode, or aninertial mode.
 16. A method, comprising: presenting a first humaninterface by an electronic device, the first human interface used tofacilitate control of operations carried out by the electronic device ina first environment, the first human interface providing a first levelof interactivity in the first environment; detecting a change in anenvironment of the electronic device from the first environment to asecond environment; identifying a second human interface in accordancewith the second environment; determining that a level of interactivityprovided by the second human interface in the second environment is atleast equal to the first level of interactivity provided by the firsthuman interface in the first environment; and presenting the secondhuman interface by the electronic device in response to determining thatthe level of interactivity provided by the second human interface in thesecond environment is at least equal to the first level of interactivityprovided by the first human interface in the first environment.
 17. Themethod as recited in claim 16, wherein at least a portion of the firsthuman interface is presented by the electronic device on a display. 18.The method as recited in claim 16, wherein the updating the first humaninterface to the second interface, comprises: receiving an indication ofthe change in the environment of the electronic device from the firstenvironment to the second environment; updating the first interface tothe second interface based at least upon the received indication of thechange in the environment of the electronic device; and determining thelevel of interactivity of the second interface in the secondenvironment.
 19. The method as recited in claim 16, further comprising:prior to presenting the second human interface, determining an expectedoperating state of the electronic device in the second environment whenthe electronic device is presenting the second human interface;presenting the second human interface only if the expected operatingstate is greater than a baseline operating state.
 20. A non-transitorycomputer readable medium for storing computer program executed by aprocessor in an electronic device in communication with a sensor, toperform operations comprising: presenting a current human interface bythe electronic device; detecting at least one environmental factor bythe sensor; passing an indication of the detected environmental factorto the processor; identifying an updated human interface when it isdetermined that the environment of the electronic device is changed;presenting the updated human interface in place of the current humaninterface only if a level of interactivity between a user and theelectronic device is greater than a pre-determined level ofinteractivity and a level of an operating state of the electronic deviceis greater than a level corresponding to a pre-determined operatingstate.
 21. The computer readable medium as recited in claim 20, theoperations further comprising: providing power to the electronic deviceby a battery, wherein at least one of the environmental factors is anamount of charge remaining in the battery, and wherein the level of theoperating state is duration of time for the electronic device to operatewith the amount of charge remaining in the battery using the updatedhuman interface.
 22. The computer readable medium as recited in claim20, wherein the at least one environmental factor includes at least oneof ambient light, battery level, context of use, or motion.